我的Bilibili频道:香芋派Taro
我的个人博客:taropie0224.github.io(阅读体验更佳)
我的公众号:香芋派的烘焙坊
我的音频技术交流群:1136403177
我的个人微信:JazzyTaroPie

https://leetcode.cn/problems/longest-common-prefix/

题解and思路

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//采用纵向扫描
class Solution {
public:
string longestCommonPrefix(vector<string>& strs) {
//如果传入的字符串数组为空,则返回空
if (!strs.size()) {
return "";
}
int length = strs[0].size(); //字符串数组中第一个元素的长度
int count = strs.size(); //字符串数组中的元素数量
for (int i = 0; i < length; i++) { //进入循环,边界为第一个字符串元素的长度
char c = strs[0][i]; //定义c为第一个字符串元素的第一个字符
for (int j = 1; j < count; ++j) { //进入内层循环,边界为字符串数组的元素数量
if (i == strs[j].size() || strs[j][i] != c) { //比较数组中每一个字符串的相同位置是否相同
//如果i到达了其中某个字符串的边界或者相同位置不匹配了
return strs[0].substr(0, i); //说明此时所有i之前(包括i)的字符都是相同的,返回即可
}
}
}
return strs[0];
}
};